//
//  HCLogManager.h
//  HCLog
//
//  Created by 韩昌 on 2017/7/11.
//  Copyright © 2017年 Han Chang. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "HCLogger.h"

@interface HCLogManager : NSObject

@property (nonatomic, assign) NSUInteger logLevel;

+ (instancetype)sharedInstance;

- (dispatch_queue_t)loggingQueue;

- (void)addLogger:(id<HCLogger>)logger level:(HCLogLevel)level;

- (void)removeLogger:(id<HCLogger>)logger;

- (void)logWithFlag:(HCLogFlag)flag
            context:(NSInteger)context
                tag:(NSString *)tag
             format:(NSString *)format, ...;

- (void)asyncLogWithFlag:(HCLogFlag)flag
                 context:(NSInteger)context
                     tag:(NSString *)tag
                  format:(NSString *)format, ...;

- (void)flushLog;

@end
